//定义变量
class Person {
  public name: string
  private age: number
  protected some: any
  constructor(name: string, age: number, some: any) {
    this.name = name
    this.age = age
    this.some = some
  }
  run() {
    console.log(this.name + this.age);
  }
}
let p = new Person('张杰', 45, 8)
// p.name 公共的，都能够访问
// p.age 私有属性 只能在构造函数内部使用
// protected 只能在内部以及构造函数继承的子类当中使用
p.run()

//2.类的修饰符
//总共有三个 public private protected
//public 内部与外部均可以访问 如果不写，那么默认的就是public

//3.static 静态属性以及静态方法
class People {
  public name: string
  private age: number
  protected some: any
  static nb: string
  constructor(name: string, age: number, some: any) {
    this.name = name
    this.age = age
    this.some = some
    // this.nb 不可以通过this去调用 只能通过类名去访问调用
  }
  run() {
    console.log(this.name + this.age);
  }
}
let p1 = new Person('黎明', 45, 8)
// People.nb 